#ifndef __LINKQUEUE_H_
#define __LINKQUEUE_H_

#include "DoubleLinkList.h"

struct LinkQueue;
typedef struct LinkQueue LQueue;

LQueue *InitLQueue();

//入队列
void QPush(LQueue *q,ElementType element);
//出队列
void QPop(LQueue *q);
//判断队列是否为空
bool IsQueueEmpty(LQueue *q);
//获取队头元素
ElementType* GetQFront(LQueue *q);
//获取队列数量
int GetQueueLen(LQueue *q);
//遍历队列
void TravelLQueue(LQueue *q,void(*funcPtr)(ElementType));
//清空队列
void ClearLQueue(LQueue *q,void(*clearPtr)(ElementType));

#endif